Namespace.Use("UI.Root", function(ns) {
    //
    //  Imports.
    //
    var UI = Namespace.Import("UI");

    //
    //  Global.
    //
    var root = new UI.Object.AbsoluteContainer();

    //
    //  Private APIs.
    //
    function FitIntoWindow() {
        root.AccessSize($(window).width(), $(window).height());
    }

    //
    //  Public APIs.
    //
    function GetRootObject() {
        return root;
    }

    //
    //  Module codes.
    //

    //  Render.
    root.AccessParent(null);
    $(root.GetHTMLElement()).appendTo($(document.body));

    //  Bind "Resize" event.
    $(window).resize(FitIntoWindow);

    //  Fit the root container into the window.
    FitIntoWindow();

    //  Set the position.
    root.AccessPosition(0, 0);

    //  Export public APIs.
    Namespace.Export(ns, "GetRootObject", GetRootObject);
});
